import UIKit

extension QKC where AA :NSMutableAttributedString {
    @available(iOS 7.0, *)
    open func fixAttributes_qk_f(in range: NSRange) -> QKC<AA,YY,ZZ, NSRange>{
		 self +^ self.value.fixAttributes(in:range) +^ range
	}

}

extension QKC where AA :NSAttributedString {
	// Generates an NSData object for the receiver contents in range.  It requires a document attributes dict specifying at least the NSDocumentTypeDocumentAttribute to determine the format to be written.
    @available(iOS 7.0, *)
    open func data_qk_f(from range: NSRange, documentAttributes dict: [NSAttributedString.DocumentAttributeKey : Any] = [:]) -> QKC<AA,YY,ZZ,Data?>{
		 self +^ (try?self.value.data(from:range, documentAttributes:dict))
	}

	// Returns an NSFileWrapper object for the receiver contents in range.  It requires a document attributes dict specifying at least the NSDocumentTypeDocumentAttribute to determine the format to be written.  The method returns a directory file wrapper for those document types represented by a file package such as NSRTFDTextDocumentType; otherwise, it returns a regular-file file wrapper.
    @available(iOS 7.0, *)
    open func fileWrapper_qk_f(from range: NSRange, documentAttributes dict: [NSAttributedString.DocumentAttributeKey : Any] = [:]) -> QKC<AA,YY,ZZ,FileWrapper?>{
		 self +^ (try?self.value.fileWrapper(from:range, documentAttributes:dict))
	}

}

extension QKC where AA :NSMutableAttributedString {
	// Methods replacing the receiver contents with an external document data.  options specify document attributes for interpreting the document contents.  NSDocumentTypeDocumentAttribute, NSCharacterEncodingDocumentAttribute, and NSDefaultAttributesDocumentAttribute are supported options key.  When they are not specified, these methods will examine the data and do their best to detect the appropriate attributes.  If dict is non-NULL, it will return a dictionary with various document-wide attributes accessible via NS...DocumentAttribute keys.
    @available(iOS 9.0, *)
    open func read_qk_f(from url: URL, options opts: [NSAttributedString.DocumentReadingOptionKey : Any] = [:], documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?) -> QKC<AA,YY,ZZ, URL>{
		 self +^ (try?self.value.read(from:url, options:opts, documentAttributes:dict)) +^ url
	}

    @available(iOS 7.0, *)
    open func read_qk_f(from data: Data, options opts: [NSAttributedString.DocumentReadingOptionKey : Any] = [:], documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?) -> QKC<AA,YY,ZZ, Data>{
		 self +^ (try?self.value.read(from:data, options:opts, documentAttributes:dict)) +^ data
	}

}

extension QKC where AA :NSAttributedString {
	// Returns YES if the receiver contains a property configured (NSAttachmentAttributeName with NSAttachmentCharacter) in range
    @available(iOS 9.0, *)
    open func containsAttachments_qk_f(in range: NSRange) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.containsAttachments(in:range)
	}

}

extension QKC where AA :NSMutableAttributedString {
    @available(iOS, introduced: 7.0, deprecated: 9.0)
    open func read_qk_f(fromFileURL url: URL, options opts: [AnyHashable : Any] = [:], documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?) -> QKC<AA,YY,ZZ, URL>{
		 self +^ (try?self.value.read(fromFileURL:url, options:opts, documentAttributes:dict)) +^ url
	}

}

